<Tree TItem="string" 
      Checkable
      CheckOnClickNode="false"
      DefaultExpandAll
      DefaultSelectedKey="0-0-1-0"
      DefaultCheckedKeys="@(new[] {"0-0-0-0", "0-0-0-1", "0-0-1", "0-0-1-0"})"
	  SelectedNodeChanged="SelectedNodeChanged"
	  OnSelect="OnSelect"
      OnCheck="OnCheck"
      OnContextMenu="OnContextMenu">
	<TreeNode Title="parent 1" Key="0-0" >
		<TreeNode Title="parent 1-0" Key="0-0-0" >
			<TreeNode Title="leaf" Key="0-0-0-0" DisableCheckbox ></TreeNode>
            <TreeNode Title="leaf" Key="0-0-0-1" Disabled></TreeNode>
            <TreeNode Title="leaf" Key="0-0-0-2" ></TreeNode>
		</TreeNode>
		<TreeNode Title="parent 1-1" Key="0-0-1" >
			<TreeNode Key="0-0-1-0" Title="sss">
				<TitleTemplate>
					<span style="color: #1890ff; ">sss</span>
				</TitleTemplate>
			</TreeNode>
		</TreeNode>
	</TreeNode>
</Tree>

@code {

	void OnSelect(TreeEventArgs<string> args)
    {
        Console.WriteLine($"OnSelect {args.Node.Key}");
    }

    void OnCheck(TreeEventArgs<string> args)
    {
        Console.WriteLine($"OnCheck {args.Node.Key}");
    }
    
    void OnContextMenu(TreeEventArgs<string> args)
    {
        Console.WriteLine($"OnContextMenu {args.Node.Key}");
    }

	void SelectedNodeChanged(TreeNode<string> e)
	{
		Console.WriteLine($"SelectedNodeChanged: {e?.Key}");
	}
}